-
如何修改edit页面接收到的值5
刚接触rails,不知道怎么表述到点子上。
脚手架生成的edit页面显示有多个物品ID的text_field :item_id,我想在打开edit页面时候显示物品名称而不是ID(从另items物品表根据ID查找名称)
attr_accessor :name
def name=(attr)
items = Oa::Item.where('name=?', attr)
if items.size == 0
item = Oa::Item.create(:name=>attr)
self.item_id = item.id
else
self.item_id = items.first.id
end
end
编辑之后总会新建新物品。。。
问题补充:恩,我基础不好,rails处理流程还是搞不懂,太笨了。。。给我的感觉就是它太聪明,我不知道怎么做的东西它帮我做好了,这种感觉很不喜欢。。。
功能实现了,在模型定义了个方法覆盖虚拟属性的方法。
update方法首先根据id查找到Post,再更新其属性.我在页面要显示的东西在Post属性里是没有的。。。
cxh116 写道首先,你的了解一下REST,引用http://guides.rubyonrails.org/v2.3.11/getting_started.html#rest
简单的讲一下你没有修改前的流程.
当你打开edit页面时,会生成一个form,如果你的model是Post,那么form的url应该是/posts/1,这个1是被编辑元素的id,还会在form表单生成一下隐藏的字段_method,它的值是put,到服务器处理时,这个请求是当作一个put请求,而不是post请求.
提交到,到控制器的update方法,update方法首先根据id查找到Post,再更新其属性.
你要显示什么是改view,而不是改modle
我觉得你应该把<Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版>这本书的示例先做做
2011年11月01日 14:41
2个答案 按时间排序 按投票排序
-
采纳的答案
首先,你的了解一下REST,
引用http://guides.rubyonrails.org/v2.3.11/getting_started.html#rest
简单的讲一下你没有修改前的流程.
当你打开edit页面时,会生成一个form,如果你的model是Post,那么form的url应该是/posts/1,这个1是被编辑元素的id,还会在form表单生成一下隐藏的字段_method,它的值是put,到服务器处理时,这个请求是当作一个put请求,而不是post请求.
提交到,到控制器的update方法,update方法首先根据id查找到Post,再更新其属性.
你要显示什么是改view,而不是改modle
我觉得你应该把<Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版>这本书的示例先做做2011年11月03日 09:47
相关推荐
在页面跳转时,将需要传递的值拼接到URL后面: 前台代码示例: ```asp ("dict_id") %>&type=("dict_type") %>"> 跳到Default.aspx页面 ``` 在目标页面(如Default.aspx)的后台代码中,可以通过Request对象来...
5. **在下一个页面接收数据**: 在NextActivity中,可以通过`getIntent().getParcelableExtra()`来获取传递的对象: ```java MyObject receivedObject = getIntent().getParcelableExtra("my_object"); ``` 6....
问题描述: 使用vue的方法获取了...一开始我的做法先将接收到的数据赋值到vue的data中,再对vue的data中的数据增加edit属性,这样在改变edit的之后,虽然在js中使用console.log可以看到该值已经发生变化,但页面中的
<td id="edit_field" data-type="text" data-url="edit_data.php">当前值 ``` 接下来,在`edit_data.php`中编写处理逻辑,接收POST或GET数据,进行数据库操作,最后返回相应的响应。如果成功,可以返回JSON数据,...
3. **展示和编辑数据**:在`display.php`页面中,添加了修改列并链接到`stu_edit.php`,让用户可以点击进行编辑。在`stu_edit.php`中,首先需要查询出要修改的记录,然后将这些数据填充到表单中供用户编辑。这通常...
前端根据响应更新表格,显示修改后的新值。 4. **查询(Query)**:查询功能允许用户根据特定条件查找数据。DataTable提供了内置的搜索框,用户输入关键词后,插件会自动筛选符合的行。此外,还可以通过设置高级...
例如,如果你想要实现一个聊天窗口,每当有新的消息到来时,可以自动滚动到底部,你可能需要在接收到新消息时调用ScrollToCaret方法。又或者,如果你要实现一个阅读器应用,用户可以在页面间平滑滚动,那么可能需要...
4. **User.pm 文件**:用户管理的核心模块,`add_user`, `edit_user`, `save_user`等函数需要更新,以接收、验证并保存公司和部门字段的值。可能还需要调整数据验证规则,确保输入的有效性。 5. **OVERVIEW.PM 文件...
// 功能:得到单个对象并把各个对象放到VO对象中页面中显示数据的值 Ep ep = new Ep(); ep.setId(Long.parseLong(epid)); ep = epService.getEpById(ep); epVO.setEp(ep); // depart对象 Depart depart = new...
EditText myEditText = findViewById(R.id.my_edit_text); String inputText = myEditText.getText().toString(); ``` 3. **传参跳转(Passing Parameters)**: 当需要在活动之间传递数据时,可以在Intent中...
在制作编辑User信息页面的过程中,我们需要考虑如何在A页面中打开B页面(即编辑页面)作为layer弹窗,并在B页面中接收并显示从A页面传递过来的User信息。 首先,我们会在A页面设置一个“修改”按钮,当用户点击这个...
- 在Controller的对应方法中,接收到POST数据后,使用ORM(对象关系映射)的save()方法将数据保存到数据库。 2. **读取(Read)**: - Controller通过调用Model的方法查询数据库,如find(),获取数据。 - 查询...
- 按钮事件处理:每个按钮的点击事件通过JavaScript的`onclick`属性关联到相应的JSP页面(如`add.jsp`、`edit.jsp`和`del.jsp`),传递参数(如学号)以便处理对应操作。 3. 查询功能: - 页面上应添加一个表单,...
这使得VBScript特别适用于Web页面动态内容生成以及自动化脚本编写等场景。 #### 二、开发工具选择 虽然理论上任何文本编辑器都能用于编写VBScript程序,但推荐使用记事本(Notepad)作为入门工具。对于初学者来说...
8. **工作流优化**:DevTools还支持Live Edit,允许开发者直接修改源文件并实时查看结果,而无需刷新页面。此外,还可以通过`Control + S`快速保存编辑,进一步提升了开发速度。 9. **无障碍性检查**:部分浏览器的...
在这个实例中,我们可能有一个名为`MongoDBHelper`的基类,它包含静态方法,如`Add`, `Edit`, `GetList`, `GetPage`, `Delete`等,分别对应于上述的操作。 日志类的引入是为了跟踪和记录应用程序与数据库的交互,这...
在`componentDidMount`生命周期方法中,我们可以通过`window.UE`获取到UEditor的全局对象,然后使用`UE.getEditor`创建编辑器实例,并传递配置项,例如工具栏、初始内容、是否开启自动高度调整等。 例如,以下是一...
- &SEL_YYM:用于接收时间的变量,其初始值设定为199904,这可以根据实际需求调整。 - &SEL_YEAR:通过EDIT函数从&SEL_YYM中提取年份部分。 - &SEL_MONTH:同样使用EDIT函数从&SEL_YYM中提取月份部分。 - &PREV_YEAR...
7. **保存编辑新闻页面(editsave.asp)**:接收用户修改后的数据,处理方式类似`savedata.asp`,只是这次需要更新已有记录而不是添加新记录,因此可能使用`Recordset`的`Edit`和`Update`方法。 8. **数据库操作**...