在Drupal 6中,使用以下代码将块插入模板很容易:
$block = module_invoke('views', 'block', 'view', 'block_name');
print $block['content'];
Run Code Online (Sandbox Code Playgroud)
但是,在Drupal 7中使用相同的说明似乎不起作用.我环顾四周,找不到新方法.
Drupal 7是否有一个例程,可以允许以编程方式将块插入模板或节点?
在useContext
React 16.8+上使用钩子效果很好。您可以创建一个组件,使用该钩子并利用上下文值而不会出现任何问题。
我不确定的是如何将更改应用于Context Provider值。
1)useContext挂钩是否严格地是一种使用上下文值的方法?
2)是否有推荐的方法,使用React挂钩来更新子组件的值,然后该子组件将使用useContext
带有此上下文的挂钩触发任何组件的组件重新渲染?
const ThemeContext = React.createContext({
style: 'light',
visible: true
});
function Content() {
const { style, visible } = React.useContext(ThemeContext);
const handleClick = () => {
// change the context values to
// style: 'dark'
// visible: false
}
return (
<div>
<p>
The theme is <em>{style}</em> and state of visibility is
<em> {visible.toString()}</em>
</p>
<button onClick={handleClick}>Change Theme</button>
</div>
)
};
function App() {
return <Content />
};
const rootElement = …
Run Code Online (Sandbox Code Playgroud)我有一个相当大的json文档,我必须存储在我的应用程序中的每个Evaluation实例的字段中.随着时间的推移,应用程序上的某些操作将要求我更改文档中的各种键/值对.Rails 4和PostgreSQL json数据类型似乎是这个问题的理想选择,但我无法对数据库进行更改.
这是一个缩写的工作流程:
我有一个json文件,我导入每个评估记录的字段:
// example.json
{ "question_1":"no" }
Run Code Online (Sandbox Code Playgroud)
我创建一个记录并导入json:
>> evaluation = Evaluation.create assessments: File.read("example.json")
>> evaluation.assessments = File.read("#{Rails.root}/example.json")
=> "{ \"question_1\":\"no\" }"
Run Code Online (Sandbox Code Playgroud)
调用评估字段似乎工作正常:
>> evaluation.assessments
=> {"question_1"=>"no"}
OR
>> evaluation.assessments["question_1"]
=> "no"
Run Code Online (Sandbox Code Playgroud)
改变json不是很好.这实际上没有提交任何东西:
>> evaluation.assessments["question_1"] = "yes"
=> "yes"
>> evaluation.assessments["question_1"]
=> "yes"
>> evaluation.save
(0.3ms) BEGIN
(0.2ms) COMMIT
=> true
Run Code Online (Sandbox Code Playgroud)
替换为一个全新的对象确实提交:
>> evaluation.assessments = {"question_1"=>"yes"}
=> {"question_1"=>"yes"}
>> evaluation.save
(0.3ms) BEGIN
SQL (0.7ms) UPDATE "evaluations" SET "assessments" = $1, "updated_at" = $2 …
Run Code Online (Sandbox Code Playgroud) 我在Rails 3.2(使用Active Admin)中使用Formtastic 2.1.1,我想在我的表单中插入一行,但没有输入字段.这是可能的吗?Formtastic DSL中的语法是什么来实现这一目标?
这是一个例子:
form do |f|
f.inputs "Model Info" do
f.input :title
f.input :published
f.input :path
end
end
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情:
form do |f|
f.inputs "Model Info" do
f.input :title
f.input :published
f.input :path
f.div "This is some important text that people using this form need to know"
end
end
Run Code Online (Sandbox Code Playgroud)
有没有人以前用Formtastic做过这件事?
我正处于为公司规划和设计定制会计应用程序的早期阶段.我的目标是为数据存储部分使用开源关系数据库,我知道有两个广泛支持的可靠数据库:MySQL和PostgreSQL.
对于需要事务,存储过程,函数和安全性的系统,是否有任何关于这两个数据库中哪一个最适合会计应用程序的意见,或者是否存在我缺少的另一个数据库?
我对MySQL和MS SQLServer 2005比较熟悉,但由于许可成本的原因,我试图摆脱后者.
让我补充一点:这不是像Quickbooks或Peachtree那样的会计需求.这基本上是一个处理我们提供的特定业务服务的会计的系统.可能有两到三个系统满足这种需求,在任何定制之前定价在六位数范围内,并且需要我的小公司长期与供应商结婚.因此,我们正在内部构建应用程序.
此外,虽然我很欣赏买入与建造的观点,但我想摆脱那个特定的宗教问题,因为购买道路已经被采取,供应商失败了.有时您只需要自己完成工作,这个特定的项目和预算需要保证.
感谢大家到目前为止的回复.
有许多教程向您展示如何在Rails中为has_many:through关系创建模型指令,但似乎没有很多文章与设置表单以创建和编辑这些关系的过程相关.我正在寻求一些帮助(或很好的例子),说明如何创建一个允许用户在Rails应用程序中管理这些类型的关系的界面.
这是场景:
我有用户,关系和运动员.用户可以与各种角色的运动员建立关系:教练,导师,家长或粉丝.
这是我的模特:
class User < ActiveRecord::Base
has_many :relationships
has_many :athletes, :through => :relationships
end
class Athlete < ActiveRecord :: Base
has_many :relationships
has_many :users, :through => :relationships
end
class Relationship < ActiveRecord :: Base
belongs_to :users
belongs_to :athletes
end
Run Code Online (Sandbox Code Playgroud)
因此,下一步是构建视图和控制器,允许我创建用户到运动员的关系(与教练,父母等角色),编辑关系或破坏关系.
最终,我的目标是建立一个用户可以创建运动员并选择相关关系的场景.
不幸的是,我找不到任何特定的教程或参考资料,这些教程或参考资料比模型说明或has_many关系的示例更多.
如果有人有一个链接或示例可以在一个简单的级别解决这个问题,我应该能够自定义其余的.
在过去的几天里,我们注意到我们的视频使用MediaElement.js Version 2.11.3
和退出流式传输Chrome Version 50.0.2661.94 (64-bit)
视频仍然在Firefox和Safari中播放没有问题.
我们在Chrome开发者工具中收到的错误是:
Uncaught (in promise) DOMException: The element has no supported sources.
呈现页面上的标记如下所示:
<video height="150" poster="https://xxxxxxxxxx.cloudfront.net/123423_1_thumb.jpg" preload="auto" width="200" src="" hidden-source="https://xxxxxxx.cloudfront.net/123423_1_wm.webm">
<object data="flashmediaelement.swf" height="150" type="application/x-shockwave-flash" width="200">
<param name="movie" value="flashmediaelement.swf">
<param name="flashvars" value="controls=true&file=http://s38zby1czkz3d7.cloudfront.net/123423_1_wm.mp4">
</object>
</video>
Run Code Online (Sandbox Code Playgroud)
以下是一些错误图片,使其更加清晰:
以下是控制台中的错误消息:
在我的Rails 3.1应用程序中,我有一个名为"Child"的模型
在我的routes.rb文件中,我有一行:
resources :children
Run Code Online (Sandbox Code Playgroud)
这是整个routes.rb文本:
root :to => "pages#home"
resources :children
Run Code Online (Sandbox Code Playgroud)
以下是完整的rake路由结果(请注意,大多数路由与ActiveAdmin相关):
children GET /children(.:format) {:action=>"index", :controller=>"children"}
POST /children(.:format) {:action=>"create", :controller=>"children"}
new_child GET /children/new(.:format) {:action=>"new", :controller=>"children"}
edit_child GET /children/:id/edit(.:format) {:action=>"edit", :controller=>"children"}
child GET /children/:id(.:format) {:action=>"show", :controller=>"children"}
PUT /children/:id(.:format) {:action=>"update", :controller=>"children"}
DELETE /children/:id(.:format) {:action=>"destroy", :controller=>"children"}
Run Code Online (Sandbox Code Playgroud)
当我运行"rake routes"时,我在结果中看到这一行:
children GET /children(.:format) {:action=>"index", :controller=>"children"}
Run Code Online (Sandbox Code Playgroud)
这是我的ChildrenController中的代码:
def index
@children = Child.all
@base_class = "children-index"
@title = "Your Children"
respond_to do |format|
format.html # children/index.html.erb
format.json { render :json => @children }
end
end …
Run Code Online (Sandbox Code Playgroud) 这个问题是关于 Drupal 管道的。我知道如何使用视图查询构建器来呈现与单个内容相关联的多个分类术语。我无法弄清楚的是 Views 如何实际查询数据库以完成工作。
例如,很容易让视图显示具有一个或多个标签的博客文章列表:
Title: "Brett Favre is Hurt"
Body: "blah blah blah"
Tags: Football, Injury
Title: "Cliff Lee Signs Contract"
Body: "blah, blah, blah"
Tags: Baseball, Free Agency, Philadelphia
Run Code Online (Sandbox Code Playgroud)
我似乎无法弄清楚 Views 如何拉取多个标签并使用每个内容项呈现它们。视图预览查询不显示任何涉及分类法的此类 SQL。
我的猜测是分类法“字段”正在进行各种子查询,或者查询提取多条记录并以某种方式将标题和正文中的字段分组(这看起来效率很低)。
我正在尽最大努力遵循自定义模块的 Drupal 标准实践,我想知道 Drupal 视图人员如何运行这些查询,因为它们运行得非常快。
在Rails 4.2
应用程序中,我已经Devise
在已激活Rememberable
和Timeoutable
模块的应用程序上安装.
当用户登录,选择Remember Me
和关闭浏览器选项卡时,他们在打开新选项卡并返回应用程序时会保留其登录名.这与Chrome,Firefox和Safari一致.
但是,当用户登录,选择Remember Me
和关闭浏览器应用程序时,他们会在重新打开浏览器应用程序并打开新的浏览器选项卡时从应用程序中注销.这与Chrome和Firefox一致.另一方面,Safari可以按需运行.
当用户关闭Chrome和Firefox浏览器应用程序时,是否可以保留用户登录凭据?我怀疑这是一个cookie问题,但我不知道我需要更改哪些设置以保持cookie在浏览器应用程序关闭之间有效.
Windows和Mac平台之间的行为是一致的.
Settings > Content settings > Cookies > Allow local data to be set = selected
Run Code Online (Sandbox Code Playgroud)
# models/user.rb
devise :database_authenticatable, :recoverable, :rememberable, :registerable, :trackable, …
Run Code Online (Sandbox Code Playgroud) drupal ×2
ruby ×2
accounting ×1
activeadmin ×1
controller ×1
database ×1
devise ×1
drupal-7 ×1
drupal-views ×1
firefox ×1
formtastic ×1
hstore ×1
javascript ×1
json ×1
models ×1
mysql ×1
open-source ×1
php ×1
postgresql ×1
react-hooks ×1
reactjs ×1
routes ×1
video ×1
view ×1
warden ×1