我有个问题。我正在使用react-rails制作一个表单。我可以在React-Rails中使用<%= tag %>从数据库调用数据吗?
我试过这样的东西,但它不起作用。
<input class="form-control" type="text" name="user[phone]" id="user_phone" defaultValue=<%= user.email %> />谢谢。
发布于 2018-02-02 16:26:42
不,这是不可能的。从React组件内部无法访问Rails框架。React-Rails框架的用途是在视图模板中安装组件的便捷方法,如下所示:
<%= react_component("MyComponent", { data: "that", becomes: "properties" }) %>并且还能够预先呈现ReactComponent服务器端(需要服务器上的NodeJS引擎),以便立即向最终用户呈现组件结果,而不必等待加载所有javascript资源。
如果您想使用Rails记录中的数据,则必须将该信息作为属性传递给已挂载的组件,然后就可以像访问任何其他React属性一样访问它们。
要显示一个示例:
<%= react_component("UserComponent", { email: @user.email, phone: @user.phone }) %>然后,该组件可能如下所示:
class UserComponent extends Component {
static propTypes = {
email: PropTypes.string,
phone: PropTypes.string,
}
render() {
const { email, phone } = this.props;
return (
<div>
<input
className="form-control"
type="text"
name="user[email]"
id="user_email"
defaultValue={ email }
/>
<input
className="form-control"
type="text"
name="user[phone]"
id="user_phone"
defaultValue={ phone }
/>
</div>
);
}https://stackoverflow.com/questions/48577680
复制相似问题