如何修改edit页面接收到的值

问题描述

刚接触rails,不知道怎么表述到点子上。脚手架生成的edit页面显示有多个物品ID的text_field :item_id,我想在打开edit页面时候显示物品名称而不是ID(从另items物品表根据ID查找名称)attr_accessor :namedef 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开发-第三版>这本书的示例先做做
解决方案二:
慢慢来,这是一个积累的过程 只要它与Post关联,你通过关联就可以拿到你想要的东西

时间: 2024-09-23 11:09:12

如何修改edit页面接收到的值的相关文章

标签-php 无刷新提交表单时,怎样修改原页面中的label的值?

问题描述 php 无刷新提交表单时,怎样修改原页面中的label的值? 在原页面index.html中,使用了来进行无刷新提交表单. 其中index.html中有一个label 提交时的action页面是form.php 当提交成功时,想在form.php中把index.html中的label的值设为 "提交成功", 这怎么实现啊? 解决方案 1.你使用的是ajax提交的话,提交成功后$(label的id或者class).html("提交成功"); 2.使用的是原生

跪求赐教!a标签带值跳转大下一页面,取出的值是乱码……怎么解决???

问题描述 跪求赐教!a标签带值跳转大下一页面,取出的值是乱码--怎么解决??? 解决方案 http://lisong0624.blog.163.com/blog/static/1887198620114410294633/ http://www.jb51.net/article/19850.htm 解决方案二: 进行url编码试试 取出的值是什么样子的 解决方案三: URL传递中文参数,默认格式为ISO-8859-1,一般在接收该参数时,如果不进行编码,得到的会是乱码. 所以编码是肯定要的了 解

jsp接收参数 转码-jsp页面接收的中文被转码为&amp;amp;amp;#xxxxx等信息

问题描述 jsp页面接收的中文被转码为&#xxxxx等信息 用的是strtus2,在后台拼接了一段html代码使用参数传到前台,拼接的部分代码为: 安全巡检安全加固 在前台接收的参数为:<tr><td width='50%' ><input type='checkbox' id='ab1'name='ability' value='1' />安全巡检</td><td width='50%' ><input type='checkbo

java-JSP用JAVABEAN传整型值时,如果数值为一位,接收到的值为0,两位以上的值正常。

问题描述 JSP用JAVABEAN传整型值时,如果数值为一位,接收到的值为0,两位以上的值正常. 现象如题,环境为MYECLIPSE和TOMCAT6,代码如下: 提交数据的文件department_add.jsp: <%@ page contentType="text/html" pageEncoding = "GBK"%> <%@ page import="com.lb.teashop.factory.*,com.lb.teashop.

html页面接收Controller的数据怎么接收,如json格式或String等

问题描述 html页面接收Controller的数据怎么接收,如json格式或String等 不知道是response.getParameter("abc"); 或{"abc"},还是data[0] 解决方案 后台: request.setAttribute("Name","abc"); html: (1.) ${ Name } 接收值并显示出来 (2.) <% String name = (String) reques

如何在后台接收js的值

问题描述 functionclien(){$("#dv9").val($("#country_con").val());alert($("#dv9").val());}在后台如何接收dv9的值 解决方案 解决方案二:dv9变成服务器控件加runat="server"后台即可访问其值不然就js+ajax提交给后台解决方案三:就看dv9是什么控件了解决方案四:dv就是一个div标签,我设置为服务器控件,但是在后台接收不到值,是个空

addactionerror-在jsp页面接收action中addActionError()的错误信息

问题描述 在jsp页面接收action中addActionError()的错误信息 struts.xml Login.jsp action.javapublic String execute() { if (!userService.isValidUser(userName)) { this.addActionError(""不存在此用户""); return INPUT; } }想要实现jsp页面点击按钮以alert()的方式弹出错误信息,请为各位大神该怎么实现

java网络传递对象时该对象继承父类的属性在网络接收端接收该属性值总是null,why?

问题描述 java网络传递对象时该对象继承父类的属性在网络接收端接收该属性值总是null,why? //=========================== 情形一: ===============================//在网络上传递User1类对象时info属性值在网络的另一端能够接收到! public class User1 implements Serializable { public String info = null; public String userName =

JS修改iframe页面背景颜色的方法

 本文实例讲述了JS修改iframe页面背景颜色的方法.分享给大家供大家参考.具体如下: 下面的代码演示了如何在网页里通过JS代码修改嵌入的iframe的网页背景颜色 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <!DOCTYPE html> <html> <head> <script> function changeStyle() { var x=document.getElementB